your-photo

John Hewitt

Visiting Researcher, Google DeepMind.

Assistant. Professor of Computer Science, Columbia University.
(Fall 2025–)

johnhew [at] stanford.edu

I am a researcher interested in developing neural language systems, deeply understanding them, and precisely controlling them, for the sake of peoples’ access to information and useful tools. Feel free to look me up on Google Scholar or Twitter, or take my CV.



Join my lab @ Columbia

I am joining Columbia Computer Science as an assistant professor. So, I’m hiring my first 1-2 Computer Science PhD students this cycle!

The goal of my lab is to deeply understand neural systems in order to ensure their efficacy and safety.

Our Research

Being opportunistic. The directions below I’ve tried to distill from my interests, but if you look at my published works, you’ll note that it’s tough to find a common theme. I am much more interested in working on problems that are deeply interesting even if it means meandering across topics than sticking to a specific pre-specified set of directions. We don’t know how to understand neural systems, and I think as a lab we will err more towards exploration of new or understudied directions than towards exploitation of known promising directions. So, if you want to work on something and it doesn’t fit in the topics below, it’s quite possible we can work on it!

Discovering and leveraging structure for control. We hypothesize that existing large-scale neural systems (large language models, other foundation models) have learned high-level structures about the world. We further hypothesize that discovering and leveraging these structures can provide fine-grained and reliable control of these systems in ways that are hard to achieve via, e.g., finetuning.

Behavioral characterization. The best way to begin to understand a system is to interact with it in as many ways as possible. To observe and characterize its behaviors. We ask questions like, what happens when I finetune models like X on distributions like Y? How do the resulting models behave? Or, in what ways do models fail to make coherent use of long contexts?

Unsupervised training for modular systems. All systems of sufficient complexity develop modular, specialized structure in order to operate efficiently — from organisms to organizations. Modular structure is a key condition for one’s ability to make surgical, targeted changes to a system. The specific modular structures of each system are the result of optimization pressures and available resources — that is, they are learned ‘unsupervisedly’ from interaction in their environments. We aim to develop algorithms for improved unsupervised modularization in neural systems like language models.

Advising Philosophy

Every student needs something different from an advisor. Some students want more guidance; others want to be left more to their own devices. All students struggle in different ways. My goal as your advisor is to engage deeply with your research and career goals and help you develop into an excellent scientist while maintaining a healthy lifestyle. Here are some kinds of interaction you can expect if you are one of my PhD students:

  • Weekly meetings. We will have a ~1hr meeting every week. We can split it into two 30min meetings. We’ll discuss your research and future plans, talk about technical blockers, how you’re feeling about how things are going, whatever’s useful.
  • Whiteboard time. Weekly meetings aren’t the best way to have in-depth technical discussions about, e.g., how to formalize a problem, how to make progress on a tricky bit of math. I’ll make myself available for longer discussions (often in front of a whiteboard) where we try to nail down details and make technical progress.
  • Paper feedback. All advisors give paper feedback. But I think it’s some of the most crucial feedback you receive as a PhD student. The rest of the research community largely understands you and your work through your papers. I think the single most important thing I learned from my PhD is what makes for strong technical writing — not just for the papers themselves, but for how that writing helps shape how I think about research. I’ll give in-depth comments on your papers that require you to go in and make the edits yourself.
  • Lab culture. From lab socials to lab snacks to helping make positive interactions between labmates, to making sure your lab space works for you.
  • Amplification. You need to develop professional connections in your PhD. To professors, industry scientists, other PhD students. You need introductions, chances to speak about your work, and I’ll help you with these things to the extent that I can.

What kind of students am I looking for?

At a high level, I am hoping to hire students with potential to do creative, independent research and contribute positively to a lab culture. I will attempt to hire students who are kind and curious. Kindness is crucial for a healthy lab, because toxicity and unkindness keep students from happiness and productivity. Curiosity is crucial for all research. And in the kinds of research I want to do, it’s often unclear what questions we should be asking to understand or improve a model. Usually it’s unclear what understanding even means. Without a natural curiosity, we’d be lost. In all of this, I aim to hire a diverse group of students, valuing a richness of perspectives. Some level of technical competence is necessary as well, though gaps can be filled in and much will be learned during the PhD.

How can we work together?

If you want to do a PhD, you can apply through Columbia Computer Science, and mention me in your application. Feel free to reach out via email, but I often am unable to respond to such emails. In the applications due December 2024, for PhD students starting in Fall 2025, I hope to hire (i.e., admit and then matriculate) roughly two students.

If you’re an existing PhD student at Columbia, email me and I’ll do my absolute best to get you on my calendar. I’m potentially happy to collaborate with you and your advisor, but if I don’t think I can be of much use for a specific project or direction, I’ll try to say so early on.

If you are an undergraduate or master’s student at Columbia, you can email me. I hope to work with 2-4 undergrads/master’s students at any one time. As my lab grows, you may work more directly with a PhD student of mine. We’ll see. It helps, but is not required, for you to have taken NLP classes. If you’ve never programmed in Python before, it’s probably a good idea to learn before you reach out.

If you are a student at another university, it’s unlikely that I’ll be able to mentor you through a research project, but not impossible. This is most likely to work if you have specific and highly related interests to some work of mine that you can concisely describe in an email. Don’t spend too much time on it, as again it’s unlikely we’ll be able to work together, but feel free to send something if you think there’s a particular connection.

More about me

Before Google and Columbia, I got my PhD at Stanford. I’m grateful to have been co-advised by Chris Manning and Percy Liang, and to have been supported by an NSF Graduate Research Fellowship. Before that, I did my undergrad at the University of Pennsylvania.


Join My Newsletter

Sign up to receive weekly updates.

x